{
  // let str1 = 'Hello TS'
  // const str2 = 'Hello TS'

  let str1: string = 'Hello TS'

  const str2: 'Hello TS' = 'Hello TS'

  // 1. str1是啥类型？ string类型。 它一定，必须保存字符串类型
  // 2. str2是啥类型？ 'Hello TS'。就是字面量类型： str2中只能保存 Hello TS
  // str2 = 'abc'


  // 定义一个新类型，可能是string 或者 number
  type MyType1 = string | number

  // 定义一个新类型，可能是Hello TS 或者 100
  type MyType2 = 'Hello TS' | 100

  let m1: MyType2 = 'Hello TS'
  // 字面量类型，单独使用没有场景。
  // 它一般是和联合类型一起使用，表示多个固定的值中取一个

  type Gender = '男' | '女'
  let g1:Gender = '男1'

}